In [1]:
# !pip install git+https://github.com/alberanid/imdbpy
# !pip install pandas
# !pip install numpy
# !pip install matplotlib
# !pip install seaborn
# !pip install pandas_profiling --upgrade
# !pip install plotly
# ! pip install wordcloud
# ! pip install Flask
In [2]:
# Import Dataset
# Import File from Loacal Drive
# from google.colab import files
# data_to_load = files.upload()
# from google.colab import drive
# drive.mount('/content/drive')
In [3]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import collections
import plotly.express as px
import plotly.graph_objects as go
import nltk
import re
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.probability import FreqDist
from nltk.util import ngrams
from plotly.subplots import make_subplots
from plotly.offline import iplot, init_notebook_mode
from wordcloud import WordCloud, STOPWORDS
from pandas_profiling import ProfileReport
%matplotlib inline
warnings.filterwarnings("ignore")
In [4]:
nltk.download('all')
[nltk_data] Downloading collection 'all'
[nltk_data]    | 
[nltk_data]    | Downloading package abc to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package abc is already up-to-date!
[nltk_data]    | Downloading package alpino to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package alpino is already up-to-date!
[nltk_data]    | Downloading package biocreative_ppi to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package biocreative_ppi is already up-to-date!
[nltk_data]    | Downloading package brown to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package brown is already up-to-date!
[nltk_data]    | Downloading package brown_tei to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package brown_tei is already up-to-date!
[nltk_data]    | Downloading package cess_cat to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package cess_cat is already up-to-date!
[nltk_data]    | Downloading package cess_esp to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package cess_esp is already up-to-date!
[nltk_data]    | Downloading package chat80 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package chat80 is already up-to-date!
[nltk_data]    | Downloading package city_database to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package city_database is already up-to-date!
[nltk_data]    | Downloading package cmudict to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package cmudict is already up-to-date!
[nltk_data]    | Downloading package comparative_sentences to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package comparative_sentences is already up-to-
[nltk_data]    |       date!
[nltk_data]    | Downloading package comtrans to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package comtrans is already up-to-date!
[nltk_data]    | Downloading package conll2000 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package conll2000 is already up-to-date!
[nltk_data]    | Downloading package conll2002 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package conll2002 is already up-to-date!
[nltk_data]    | Downloading package conll2007 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package conll2007 is already up-to-date!
[nltk_data]    | Downloading package crubadan to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package crubadan is already up-to-date!
[nltk_data]    | Downloading package dependency_treebank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package dependency_treebank is already up-to-date!
[nltk_data]    | Downloading package dolch to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package dolch is already up-to-date!
[nltk_data]    | Downloading package europarl_raw to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package europarl_raw is already up-to-date!
[nltk_data]    | Downloading package floresta to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package floresta is already up-to-date!
[nltk_data]    | Downloading package framenet_v15 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package framenet_v15 is already up-to-date!
[nltk_data]    | Downloading package framenet_v17 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package framenet_v17 is already up-to-date!
[nltk_data]    | Downloading package gazetteers to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package gazetteers is already up-to-date!
[nltk_data]    | Downloading package genesis to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package genesis is already up-to-date!
[nltk_data]    | Downloading package gutenberg to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package gutenberg is already up-to-date!
[nltk_data]    | Downloading package ieer to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ieer is already up-to-date!
[nltk_data]    | Downloading package inaugural to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package inaugural is already up-to-date!
[nltk_data]    | Downloading package indian to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package indian is already up-to-date!
[nltk_data]    | Downloading package jeita to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package jeita is already up-to-date!
[nltk_data]    | Downloading package kimmo to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package kimmo is already up-to-date!
[nltk_data]    | Downloading package knbc to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package knbc is already up-to-date!
[nltk_data]    | Downloading package lin_thesaurus to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package lin_thesaurus is already up-to-date!
[nltk_data]    | Downloading package mac_morpho to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package mac_morpho is already up-to-date!
[nltk_data]    | Downloading package machado to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package machado is already up-to-date!
[nltk_data]    | Downloading package masc_tagged to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package masc_tagged is already up-to-date!
[nltk_data]    | Downloading package moses_sample to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package moses_sample is already up-to-date!
[nltk_data]    | Downloading package movie_reviews to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package movie_reviews is already up-to-date!
[nltk_data]    | Downloading package names to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package names is already up-to-date!
[nltk_data]    | Downloading package nombank.1.0 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package nombank.1.0 is already up-to-date!
[nltk_data]    | Downloading package nps_chat to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package nps_chat is already up-to-date!
[nltk_data]    | Downloading package omw to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package omw is already up-to-date!
[nltk_data]    | Downloading package opinion_lexicon to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package opinion_lexicon is already up-to-date!
[nltk_data]    | Downloading package paradigms to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package paradigms is already up-to-date!
[nltk_data]    | Downloading package pil to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package pil is already up-to-date!
[nltk_data]    | Downloading package pl196x to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package pl196x is already up-to-date!
[nltk_data]    | Downloading package ppattach to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ppattach is already up-to-date!
[nltk_data]    | Downloading package problem_reports to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package problem_reports is already up-to-date!
[nltk_data]    | Downloading package propbank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package propbank is already up-to-date!
[nltk_data]    | Downloading package ptb to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ptb is already up-to-date!
[nltk_data]    | Downloading package product_reviews_1 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package product_reviews_1 is already up-to-date!
[nltk_data]    | Downloading package product_reviews_2 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package product_reviews_2 is already up-to-date!
[nltk_data]    | Downloading package pros_cons to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package pros_cons is already up-to-date!
[nltk_data]    | Downloading package qc to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package qc is already up-to-date!
[nltk_data]    | Downloading package reuters to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package reuters is already up-to-date!
[nltk_data]    | Downloading package rte to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package rte is already up-to-date!
[nltk_data]    | Downloading package semcor to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package semcor is already up-to-date!
[nltk_data]    | Downloading package senseval to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package senseval is already up-to-date!
[nltk_data]    | Downloading package sentiwordnet to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sentiwordnet is already up-to-date!
[nltk_data]    | Downloading package sentence_polarity to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sentence_polarity is already up-to-date!
[nltk_data]    | Downloading package shakespeare to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package shakespeare is already up-to-date!
[nltk_data]    | Downloading package sinica_treebank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sinica_treebank is already up-to-date!
[nltk_data]    | Downloading package smultron to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package smultron is already up-to-date!
[nltk_data]    | Downloading package state_union to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package state_union is already up-to-date!
[nltk_data]    | Downloading package stopwords to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package stopwords is already up-to-date!
[nltk_data]    | Downloading package subjectivity to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package subjectivity is already up-to-date!
[nltk_data]    | Downloading package swadesh to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package swadesh is already up-to-date!
[nltk_data]    | Downloading package switchboard to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package switchboard is already up-to-date!
[nltk_data]    | Downloading package timit to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package timit is already up-to-date!
[nltk_data]    | Downloading package toolbox to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package toolbox is already up-to-date!
[nltk_data]    | Downloading package treebank to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package treebank is already up-to-date!
[nltk_data]    | Downloading package twitter_samples to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package twitter_samples is already up-to-date!
[nltk_data]    | Downloading package udhr to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package udhr is already up-to-date!
[nltk_data]    | Downloading package udhr2 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package udhr2 is already up-to-date!
[nltk_data]    | Downloading package unicode_samples to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package unicode_samples is already up-to-date!
[nltk_data]    | Downloading package universal_treebanks_v20 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package universal_treebanks_v20 is already up-to-
[nltk_data]    |       date!
[nltk_data]    | Downloading package verbnet to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package verbnet is already up-to-date!
[nltk_data]    | Downloading package verbnet3 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package verbnet3 is already up-to-date!
[nltk_data]    | Downloading package webtext to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package webtext is already up-to-date!
[nltk_data]    | Downloading package wordnet to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package wordnet is already up-to-date!
[nltk_data]    | Downloading package wordnet_ic to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package wordnet_ic is already up-to-date!
[nltk_data]    | Downloading package words to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package words is already up-to-date!
[nltk_data]    | Downloading package ycoe to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package ycoe is already up-to-date!
[nltk_data]    | Downloading package rslp to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package rslp is already up-to-date!
[nltk_data]    | Downloading package maxent_treebank_pos_tagger to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package maxent_treebank_pos_tagger is already up-
[nltk_data]    |       to-date!
[nltk_data]    | Downloading package universal_tagset to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package universal_tagset is already up-to-date!
[nltk_data]    | Downloading package maxent_ne_chunker to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package maxent_ne_chunker is already up-to-date!
[nltk_data]    | Downloading package punkt to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package punkt is already up-to-date!
[nltk_data]    | Downloading package book_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package book_grammars is already up-to-date!
[nltk_data]    | Downloading package sample_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package sample_grammars is already up-to-date!
[nltk_data]    | Downloading package spanish_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package spanish_grammars is already up-to-date!
[nltk_data]    | Downloading package basque_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package basque_grammars is already up-to-date!
[nltk_data]    | Downloading package large_grammars to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package large_grammars is already up-to-date!
[nltk_data]    | Downloading package tagsets to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package tagsets is already up-to-date!
[nltk_data]    | Downloading package snowball_data to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package snowball_data is already up-to-date!
[nltk_data]    | Downloading package bllip_wsj_no_aux to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package bllip_wsj_no_aux is already up-to-date!
[nltk_data]    | Downloading package word2vec_sample to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package word2vec_sample is already up-to-date!
[nltk_data]    | Downloading package panlex_swadesh to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package panlex_swadesh is already up-to-date!
[nltk_data]    | Downloading package mte_teip5 to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package mte_teip5 is already up-to-date!
[nltk_data]    | Downloading package averaged_perceptron_tagger to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package averaged_perceptron_tagger is already up-
[nltk_data]    |       to-date!
[nltk_data]    | Downloading package averaged_perceptron_tagger_ru to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package averaged_perceptron_tagger_ru is already
[nltk_data]    |       up-to-date!
[nltk_data]    | Downloading package perluniprops to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package perluniprops is already up-to-date!
[nltk_data]    | Downloading package nonbreaking_prefixes to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package nonbreaking_prefixes is already up-to-date!
[nltk_data]    | Downloading package vader_lexicon to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package vader_lexicon is already up-to-date!
[nltk_data]    | Downloading package porter_test to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package porter_test is already up-to-date!
[nltk_data]    | Downloading package wmt15_eval to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package wmt15_eval is already up-to-date!
[nltk_data]    | Downloading package mwa_ppdb to
[nltk_data]    |     C:\Users\pawan\AppData\Roaming\nltk_data...
[nltk_data]    |   Package mwa_ppdb is already up-to-date!
[nltk_data]    | 
[nltk_data]  Done downloading collection all
Out[4]:
True
In [5]:
# path = '/content/drive/MyDrive/Files/'

path = 'C:\\Users\\pawan\\OneDrive\\Desktop\\ott\\Data\\'
 
df_tvshows = pd.read_csv(path + 'otttvshows.csv')
 
df_tvshows.head()
Out[5]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country Language Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type
0 1 Snowpiercer 2013 18+ 6.9 94% NaN Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... Action,Drama,Sci-Fi,Thriller United States English Set seven years after the world has become a f... 60.0 tv series 3.0 1 0 0 0 1
1 2 Philadelphia 1993 13+ 8.8 80% NaN Charlie Day,Glenn Howerton,Rob McElhenney,Kait... Comedy United States English The gang, 5 raging alcoholic, narcissists run ... 22.0 tv series 18.0 1 0 0 0 1
2 3 Roma 2018 18+ 8.7 93% NaN Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... Action,Drama,History,Romance,War United Kingdom,United States English In this British historical drama, the turbulen... 52.0 tv series 2.0 1 0 0 0 1
3 4 Amy 2015 18+ 7.0 87% NaN Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States English A family drama focused on three generations of... 60.0 tv series 6.0 1 0 1 1 1
4 5 The Young Offenders 2016 NaN 8.0 100% NaN Alex Murphy,Chris Walley,Hilary Rose,Dominic M... Comedy United Kingdom,Ireland English NaN 30.0 tv series 3.0 1 0 0 0 1
In [6]:
# profile = ProfileReport(df_tvshows)
# profile
In [7]:
def data_investigate(df):
    print('No of Rows : ', df.shape[0])
    print('No of Coloums : ', df.shape[1])
    print('**'*25)
    print('Colums Names : \n', df.columns)
    print('**'*25)
    print('Datatype of Columns : \n', df.dtypes)
    print('**'*25)
    print('Missing Values : ')
    c = df.isnull().sum()
    c = c[c > 0]
    print(c)
    print('**'*25)
    print('Missing vaules %age wise :\n')
    print((100*(df.isnull().sum()/len(df.index))))
    print('**'*25)
    print('Pictorial Representation : ')
    plt.figure(figsize = (10, 10))
    sns.heatmap(df.isnull(), yticklabels = False, cbar = False)
    plt.show()
In [8]:
data_investigate(df_tvshows)
No of Rows :  5432
No of Coloums :  20
**************************************************
Colums Names : 
 Index(['ID', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes', 'Directors',
       'Cast', 'Genres', 'Country', 'Language', 'Plotline', 'Runtime', 'Kind',
       'Seasons', 'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'Type'],
      dtype='object')
**************************************************
Datatype of Columns : 
 ID                   int64
Title               object
Year                 int64
Age                 object
IMDb               float64
Rotten Tomatoes     object
Directors           object
Cast                object
Genres              object
Country             object
Language            object
Plotline            object
Runtime            float64
Kind                object
Seasons            float64
Netflix              int64
Hulu                 int64
Prime Video          int64
Disney+              int64
Type                 int64
dtype: object
**************************************************
Missing Values : 
Age                1954
IMDb                556
Rotten Tomatoes    4194
Directors          5158
Cast                486
Genres              323
Country             549
Language            638
Plotline           2493
Runtime            1410
Seasons             679
dtype: int64
**************************************************
Missing vaules %age wise :

ID                  0.000000
Title               0.000000
Year                0.000000
Age                35.972018
IMDb               10.235641
Rotten Tomatoes    77.209131
Directors          94.955817
Cast                8.946981
Genres              5.946244
Country            10.106775
Language           11.745214
Plotline           45.894698
Runtime            25.957290
Kind                0.000000
Seasons            12.500000
Netflix             0.000000
Hulu                0.000000
Prime Video         0.000000
Disney+             0.000000
Type                0.000000
dtype: float64
**************************************************
Pictorial Representation : 
In [9]:
# ID
# df_tvshows = df_tvshows.drop(['ID'], axis = 1)
 
# Age
df_tvshows.loc[df_tvshows['Age'].isnull() & df_tvshows['Disney+'] == 1, "Age"] = '13'
# df_tvshows.fillna({'Age' : 18}, inplace = True)
df_tvshows.fillna({'Age' : 'NR'}, inplace = True)
df_tvshows['Age'].replace({'all': '0'}, inplace = True)
df_tvshows['Age'].replace({'7+': '7'}, inplace = True)
df_tvshows['Age'].replace({'13+': '13'}, inplace = True)
df_tvshows['Age'].replace({'16+': '16'}, inplace = True)
df_tvshows['Age'].replace({'18+': '18'}, inplace = True)
# df_tvshows['Age'] = df_tvshows['Age'].astype(int)
 
# IMDb
# df_tvshows.fillna({'IMDb' : df_tvshows['IMDb'].mean()}, inplace = True)
# df_tvshows.fillna({'IMDb' : df_tvshows['IMDb'].median()}, inplace = True)
df_tvshows.fillna({'IMDb' : "NA"}, inplace = True)
 
# Rotten Tomatoes
df_tvshows['Rotten Tomatoes'] = df_tvshows['Rotten Tomatoes'][df_tvshows['Rotten Tomatoes'].notnull()].str.replace('%', '').astype(int)
# df_tvshows['Rotten Tomatoes'] = df_tvshows['Rotten Tomatoes'][df_tvshows['Rotten Tomatoes'].notnull()].astype(int)
# df_tvshows.fillna({'Rotten Tomatoes' : df_tvshows['Rotten Tomatoes'].mean()}, inplace = True)
# df_tvshows.fillna({'Rotten Tomatoes' : df_tvshows['Rotten Tomatoes'].median()}, inplace = True)
# df_tvshows['Rotten Tomatoes'] = df_tvshows['Rotten Tomatoes'].astype(int)
df_tvshows.fillna({'Rotten Tomatoes' : "NA"}, inplace = True)
 
# Directors
# df_tvshows = df_tvshows.drop(['Directors'], axis = 1)
df_tvshows.fillna({'Directors' : "NA"}, inplace = True)
 
# Cast
df_tvshows.fillna({'Cast' : "NA"}, inplace = True)
 
# Genres
df_tvshows.fillna({'Genres': "NA"}, inplace = True)
 
# Country
df_tvshows.fillna({'Country': "NA"}, inplace = True)
 
# Language
df_tvshows.fillna({'Language': "NA"}, inplace = True)
 
# Plotline
df_tvshows.fillna({'Plotline': "NA"}, inplace = True)
 
# Runtime
# df_tvshows.fillna({'Runtime' : df_tvshows['Runtime'].mean()}, inplace = True)
# df_tvshows['Runtime'] = df_tvshows['Runtime'].astype(int)
df_tvshows.fillna({'Runtime' : "NA"}, inplace = True)
 
# Kind
# df_tvshows.fillna({'Kind': "NA"}, inplace = True)
 
# Type
# df_tvshows.fillna({'Type': "NA"}, inplace = True)
# df_tvshows = df_tvshows.drop(['Type'], axis = 1)
 
# Seasons
# df_tvshows.fillna({'Seasons': 1}, inplace = True)
df_tvshows.fillna({'Seasons': "NA"}, inplace = True)
# df_tvshows = df_tvshows.drop(['Seasons'], axis = 1)
# df_tvshows['Seasons'] = df_tvshows['Seasons'].astype(int)
# df_tvshows.fillna({'Seasons' : df_tvshows['Seasons'].mean()}, inplace = True)
# df_tvshows['Seasons'] = df_tvshows['Seasons'].astype(int)
 
# Service Provider
df_tvshows['Service Provider'] = df_tvshows.loc[:, ['Netflix', 'Prime Video', 'Disney+', 'Hulu']].idxmax(axis = 1)
# df_tvshows.drop(['Netflix','Prime Video','Disney+','Hulu'], axis = 1)

# Removing Duplicate and Missing Entries
df_tvshows.dropna(how = 'any', inplace = True)
df_tvshows.drop_duplicates(inplace = True)
In [10]:
data_investigate(df_tvshows)
No of Rows :  5432
No of Coloums :  21
**************************************************
Colums Names : 
 Index(['ID', 'Title', 'Year', 'Age', 'IMDb', 'Rotten Tomatoes', 'Directors',
       'Cast', 'Genres', 'Country', 'Language', 'Plotline', 'Runtime', 'Kind',
       'Seasons', 'Netflix', 'Hulu', 'Prime Video', 'Disney+', 'Type',
       'Service Provider'],
      dtype='object')
**************************************************
Datatype of Columns : 
 ID                   int64
Title               object
Year                 int64
Age                 object
IMDb                object
Rotten Tomatoes     object
Directors           object
Cast                object
Genres              object
Country             object
Language            object
Plotline            object
Runtime             object
Kind                object
Seasons              int32
Netflix              int64
Hulu                 int64
Prime Video          int64
Disney+              int64
Type                 int64
Service Provider    object
dtype: object
**************************************************
Missing Values : 
Series([], dtype: int64)
**************************************************
Missing vaules %age wise :

ID                  0.0
Title               0.0
Year                0.0
Age                 0.0
IMDb                0.0
Rotten Tomatoes     0.0
Directors           0.0
Cast                0.0
Genres              0.0
Country             0.0
Language            0.0
Plotline            0.0
Runtime             0.0
Kind                0.0
Seasons             0.0
Netflix             0.0
Hulu                0.0
Prime Video         0.0
Disney+             0.0
Type                0.0
Service Provider    0.0
dtype: float64
**************************************************
Pictorial Representation : 
In [11]:
df_tvshows.head()
Out[11]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider
0 1 Snowpiercer 2013 18 6.9 94 NA Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... Action,Drama,Sci-Fi,Thriller United States ... Set seven years after the world has become a f... 60 tv series 3 1 0 0 0 1 Netflix
1 2 Philadelphia 1993 13 8.8 80 NA Charlie Day,Glenn Howerton,Rob McElhenney,Kait... Comedy United States ... The gang, 5 raging alcoholic, narcissists run ... 22 tv series 18 1 0 0 0 1 Netflix
2 3 Roma 2018 18 8.7 93 NA Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... Action,Drama,History,Romance,War United Kingdom,United States ... In this British historical drama, the turbulen... 52 tv series 2 1 0 0 0 1 Netflix
3 4 Amy 2015 18 7 87 NA Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States ... A family drama focused on three generations of... 60 tv series 6 1 0 1 1 1 Netflix
4 5 The Young Offenders 2016 NR 8 100 NA Alex Murphy,Chris Walley,Hilary Rose,Dominic M... Comedy United Kingdom,Ireland ... NA 30 tv series 3 1 0 0 0 1 Netflix

5 rows × 21 columns

In [12]:
df_tvshows.describe()
Out[12]:
ID Year Seasons Netflix Hulu Prime Video Disney+ Type
count 5432.000000 5432.000000 5432.000000 5432.000000 5432.000000 5432.000000 5432.000000 5432.0
mean 2716.500000 2010.668446 3.012334 0.341311 0.293999 0.403351 0.033689 1.0
std 1568.227662 11.726176 4.105634 0.474193 0.455633 0.490615 0.180445 0.0
min 1.000000 1901.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.0
25% 1358.750000 2009.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.0
50% 2716.500000 2014.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.0
75% 4074.250000 2017.000000 3.000000 1.000000 1.000000 1.000000 0.000000 1.0
max 5432.000000 2020.000000 53.000000 1.000000 1.000000 1.000000 1.000000 1.0
In [13]:
df_tvshows.corr()
Out[13]:
ID Year Seasons Netflix Hulu Prime Video Disney+ Type
ID 1.000000 -0.031346 -0.048292 -0.646330 0.034293 0.441264 0.195409 NaN
Year -0.031346 1.000000 -0.219170 0.222316 -0.065807 -0.198675 -0.022741 NaN
Seasons -0.048292 -0.219170 1.000000 -0.052478 0.223957 -0.061613 0.001924 NaN
Netflix -0.646330 0.222316 -0.052478 1.000000 -0.366515 -0.515086 -0.119344 NaN
Hulu 0.034293 -0.065807 0.223957 -0.366515 1.000000 -0.377374 -0.075701 NaN
Prime Video 0.441264 -0.198675 -0.061613 -0.515086 -0.377374 1.000000 -0.151442 NaN
Disney+ 0.195409 -0.022741 0.001924 -0.119344 -0.075701 -0.151442 1.000000 NaN
Type NaN NaN NaN NaN NaN NaN NaN NaN
In [14]:
# df_tvshows.sort_values('Year', ascending = True)
# df_tvshows.sort_values('IMDb', ascending = False)
In [15]:
# df_tvshows.to_csv(path_or_buf= '/content/drive/MyDrive/Files/updated_otttvshows.csv', index = False)
 
# path = '/content/drive/MyDrive/Files/'
 
# udf_tvshows = pd.read_csv(path + 'updated_otttvshows.csv')
 
# udf_tvshows
In [16]:
# df_netflix_tvshows = df_tvshows.loc[(df_tvshows['Netflix'] > 0)]
# df_hulu_tvshows = df_tvshows.loc[(df_tvshows['Hulu'] > 0)]
# df_prime_video_tvshows = df_tvshows.loc[(df_tvshows['Prime Video'] > 0)]
# df_disney_tvshows = df_tvshows.loc[(df_tvshows['Disney+'] > 0)]
In [17]:
df_netflix_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 1) & (df_tvshows['Hulu'] == 0) & (df_tvshows['Prime Video'] == 0 ) & (df_tvshows['Disney+'] == 0)]
df_hulu_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 0) & (df_tvshows['Hulu'] == 1) & (df_tvshows['Prime Video'] == 0 ) & (df_tvshows['Disney+'] == 0)]
df_prime_video_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 0) & (df_tvshows['Hulu'] == 0) & (df_tvshows['Prime Video'] == 1 ) & (df_tvshows['Disney+'] == 0)]
df_disney_only_tvshows = df_tvshows[(df_tvshows['Netflix'] == 0) & (df_tvshows['Hulu'] == 0) & (df_tvshows['Prime Video'] == 0 ) & (df_tvshows['Disney+'] == 1)]
In [18]:
df_tvshows_ott = df_tvshows.copy()
In [19]:
df_tvshows_ott.drop(df_tvshows_ott.loc[df_tvshows_ott['Title'] == "NA"].index, inplace = True)
# df_tvshows_ott = df_tvshows_ott[df_tvshows_ott.Title != "NA"]
In [20]:
# Creating distinct dataframes only with the tvshows present on individual streaming platforms
netflix_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Netflix'] == 1]
hulu_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Hulu'] == 1]
prime_video_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Prime Video'] == 1]
disney_ott_tvshows = df_tvshows_ott.loc[df_tvshows_ott['Disney+'] == 1]
In [21]:
df_tvshows_ott_group = df_tvshows_ott.copy()
In [22]:
plt.figure(figsize = (10, 10))
corr = df_tvshows_ott.corr()
# Plot figsize
fig, ax = plt.subplots(figsize=(10, 8))
# Generate Heat Map, allow annotations and place floats in map
sns.heatmap(corr, cmap = 'magma', annot = True, fmt = ".2f")
# Apply xticks
plt.xticks(range(len(corr.columns)), corr.columns);
# Apply yticks
plt.yticks(range(len(corr.columns)), corr.columns)
# show plot
plt.show()
fig.show()
<Figure size 720x720 with 0 Axes>
In [23]:
print('\nTV Shows Available on All Platfroms Are : \n')
df_tvshows_ott.head(5)
TV Shows Available on All Platfroms Are : 

Out[23]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider
0 1 Snowpiercer 2013 18 6.9 94 NA Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... Action,Drama,Sci-Fi,Thriller United States ... Set seven years after the world has become a f... 60 tv series 3 1 0 0 0 1 Netflix
1 2 Philadelphia 1993 13 8.8 80 NA Charlie Day,Glenn Howerton,Rob McElhenney,Kait... Comedy United States ... The gang, 5 raging alcoholic, narcissists run ... 22 tv series 18 1 0 0 0 1 Netflix
2 3 Roma 2018 18 8.7 93 NA Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... Action,Drama,History,Romance,War United Kingdom,United States ... In this British historical drama, the turbulen... 52 tv series 2 1 0 0 0 1 Netflix
3 4 Amy 2015 18 7 87 NA Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States ... A family drama focused on three generations of... 60 tv series 6 1 0 1 1 1 Netflix
4 5 The Young Offenders 2016 NR 8 100 NA Alex Murphy,Chris Walley,Hilary Rose,Dominic M... Comedy United Kingdom,Ireland ... NA 30 tv series 3 1 0 0 0 1 Netflix

5 rows × 21 columns

In [24]:
print('\nTV Shows Available on Netflix Are : \n')
netflix_ott_tvshows.head(5)
TV Shows Available on Netflix Are : 

Out[24]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider
0 1 Snowpiercer 2013 18 6.9 94 NA Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... Action,Drama,Sci-Fi,Thriller United States ... Set seven years after the world has become a f... 60 tv series 3 1 0 0 0 1 Netflix
1 2 Philadelphia 1993 13 8.8 80 NA Charlie Day,Glenn Howerton,Rob McElhenney,Kait... Comedy United States ... The gang, 5 raging alcoholic, narcissists run ... 22 tv series 18 1 0 0 0 1 Netflix
2 3 Roma 2018 18 8.7 93 NA Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... Action,Drama,History,Romance,War United Kingdom,United States ... In this British historical drama, the turbulen... 52 tv series 2 1 0 0 0 1 Netflix
3 4 Amy 2015 18 7 87 NA Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States ... A family drama focused on three generations of... 60 tv series 6 1 0 1 1 1 Netflix
4 5 The Young Offenders 2016 NR 8 100 NA Alex Murphy,Chris Walley,Hilary Rose,Dominic M... Comedy United Kingdom,Ireland ... NA 30 tv series 3 1 0 0 0 1 Netflix

5 rows × 21 columns

In [25]:
print('\nTV Shows Available on Hulu Are : \n')
hulu_ott_tvshows.head(5)
TV Shows Available on Hulu Are : 

Out[25]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider
16 17 The Oath 2016 NR 6.6 88 NA Ryan Kwanten,Katrina Law,Cory Hardrict,Joseph ... Crime,Drama United States ... NA 60 tv series 2 1 1 0 0 1 Netflix
29 30 Zapped 2014 0 6.8 6 Peter DeLuise James Buckley,Kenneth Collard,Louis Emerick,Pa... Comedy,Fantasy United Kingdom ... NA 30 tv series 3 1 1 0 1 1 Netflix
101 102 Vice 2018 18 8.3 46 NA Julia Louis-Dreyfus,Anna Chlumsky,Tony Hale,Re... Comedy United States ... Politics is about people, former Sen. Selina M... 28 tv series 7 0 1 0 0 1 Hulu
102 103 Get Smart 2008 13 8.2 51 Peter Segal Don Adams,Barbara Feldon,Edward Platt,Robert K... Action,Adventure,Comedy,Crime,Family,Mystery,S... United States ... Maxwell Smart is a bumbling secret agent, assi... 25 tv series 5 0 1 0 0 1 Hulu
103 104 Amazing Grace 2018 0 7.1 67 Michael Apted Kate Jenkinson,Sigrid Thornton,Alex Dimitriade... Drama Australia ... The series centres on midwife Grace and her pa... 118 tv series 1 0 1 0 0 1 Hulu

5 rows × 21 columns

In [26]:
print('\nTV Shows Available on Prime Video Are : \n')
prime_video_ott_tvshows.head(5)
TV Shows Available on Prime Video Are : 

Out[26]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider
3 4 Amy 2015 18 7 87 NA Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States ... A family drama focused on three generations of... 60 tv series 6 1 0 1 1 1 Netflix
7 8 Retribution 2015 NR 7 28 NA Joanna Vanderham,John Lynch,Joe Dempsie,Julie ... Drama,Mystery,Thriller United Kingdom ... Childhood sweethearts Adam Elliot and Grace Do... 231 tv series 1 1 0 1 0 1 Netflix
15 16 Eli 2019 18 7.9 46 NA Sacha Baron Cohen,Hadar Ratzon Rotem,Yael Eita... Drama,History France ... Israel, 1959. The Mossad are desperate to embe... 53 tv series 1 1 0 1 0 1 Netflix
17 18 Zero 2018 NR 5.5 88 Aanand L. Rai Giuseppe Dave Seke,Haroun Fall,Beatrice Grannò... Action,Comedy,Drama,Fantasy,Sci-Fi Italy ... NA 164 tv series 1 1 0 1 0 1 Netflix
18 19 The Outsider 2018 NR 7.8 36 NA Ben Mendelsohn,Bill Camp,Jeremy Bobb,Mare Winn... Crime,Drama,Fantasy,Mystery,Thriller United States ... The Outsider begins with a seemingly straightf... 60 tv series 1 1 0 1 0 1 Netflix

5 rows × 21 columns

In [27]:
print('\nTV Shows Available on Disney+ Are : \n')
disney_ott_tvshows.head(5)
TV Shows Available on Disney+ Are : 

Out[27]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Plotline Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider
3 4 Amy 2015 18 7 87 NA Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States ... A family drama focused on three generations of... 60 tv series 6 1 0 1 1 1 Netflix
29 30 Zapped 2014 0 6.8 6 Peter DeLuise James Buckley,Kenneth Collard,Louis Emerick,Pa... Comedy,Fantasy United Kingdom ... NA 30 tv series 3 1 1 0 1 1 Netflix
482 483 Avatar 2009 13 9.2 82 NA Dee Bradley Baker,Zach Tyler,Mae Whitman,Jack ... Animation,Action,Adventure,Family,Fantasy,Mystery United States ... In a suburban fantasy world, two teenage elf b... 23 tv series 3 0 0 0 1 1 Disney+
483 484 Invincible 2006 7 8.8 72 Angelina Jolie Steven Yeun,Sandra Oh,J.K. Simmons,Zazie Beetz... Animation,Action,Adventure,Drama,Fantasy,Horro... United States ... In February of 1952, one of the worst storms t... 137 tv series 1 0 0 0 1 1 Disney+
484 485 High School Musical 2006 0 7.4 63 Kenny Ortega Joshua Bassett,Olivia Rodrigo,Matt Cornett,Jul... Comedy,Drama,Musical United States ... The famous race car Lightning McQueen and his ... 31 tv series 2 0 0 0 1 1 Disney+

5 rows × 21 columns

In [28]:
print(f'''
      Total '{df_tvshows_ott['Title'].count()}' Titles are available on All Platforms, out of Which,\n
      Total '{netflix_ott_tvshows['Title'].count()}' Titles are available on 'Netflix'
      Total '{hulu_ott_tvshows['Title'].count()}' Titles are available on 'Hulu'
      Total '{prime_video_ott_tvshows['Title'].count()}' Titles are available on 'Prime video'
      Total '{disney_ott_tvshows['Title'].count()}' Titles are available on 'Disney+'
      ''')
      Total '5432' Titles are available on All Platforms, out of Which,

      Total '1854' Titles are available on 'Netflix'
      Total '1597' Titles are available on 'Hulu'
      Total '2191' Titles are available on 'Prime video'
      Total '183' Titles are available on 'Disney+'
      
In [29]:
Platform = ['Netflix', 'Hulu', 'Prime Video', 'Disney+']

Count = [netflix_ott_tvshows['Title'].count(),
         hulu_ott_tvshows['Title'].count(),
         prime_video_ott_tvshows['Title'].count(),
         disney_ott_tvshows['Title'].count()]
 
fig = px.pie(names = Platform,
             values = Count,
             title = 'TV Shows Count Of Different Platforms',
             color_discrete_sequence = px.colors.sequential.Teal)

fig.update_traces(textposition = 'inside',
                  textinfo = 'percent + label') 
fig.show()
In [30]:
df_tvshows_ott['OTT Count'] = df_tvshows_ott['Netflix'] + df_tvshows_ott['Hulu'] + df_tvshows_ott['Prime Video'] + df_tvshows_ott['Disney+']
In [31]:
(df_tvshows_ott['OTT Count'].value_counts()/df_tvshows_ott.shape[0])*100
Out[31]:
1    93.372607
2     6.019882
3     0.607511
Name: OTT Count, dtype: float64
In [32]:
print(f'''
      Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 4].shape[0]}' Titles are available on All Platforms
      Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 3].shape[0]}' Titles are available on at least 3 Platforms
      Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 2].shape[0]}' Titles are available on at least 2 Platforms
      Total '{df_tvshows_ott[df_tvshows_ott['OTT Count'] == 1].shape[0]}' Titles are available on at least 1 Platforms
      ''')
      Total '0' Titles are available on All Platforms
      Total '33' Titles are available on at least 3 Platforms
      Total '327' Titles are available on at least 2 Platforms
      Total '5072' Titles are available on at least 1 Platforms
      
In [33]:
# TV Shows Available on All Platforms

# df_tvshows_ott[(df_tvshows_ott['Netflix'] == 1) & (df_tvshows_ott['Hulu'] == 1) & (df_tvshows_ott['Prime Video'] == 1) & (df_tvshows_ott['Disney+'] == 1)]
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 4].shape[0], ' Titles are available on All Platforms\n')
tvshows_on_4_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 4]
tvshows_on_4_platforms
Total  0  Titles are available on All Platforms

Out[33]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count

0 rows × 22 columns

In [34]:
# TV Shows Available on at least 3 Platforms

print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 3].shape[0], ' Titles are available on at least 3 Platforms\n')
tvshows_on_3_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 3]
tvshows_on_3_platforms
Total  33  Titles are available on at least 3 Platforms

Out[34]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
3 4 Amy 2015 18 7 87 NA Amy Brenneman,Richard T. Jones,Jessica Tuck,Ma... Drama United States ... 60 tv series 6 1 0 1 1 1 Netflix 3
29 30 Zapped 2014 0 6.8 6 Peter DeLuise James Buckley,Kenneth Collard,Louis Emerick,Pa... Comedy,Fantasy United Kingdom ... 30 tv series 3 1 1 0 1 1 Netflix 3
522 523 Parks and Recreation 2009 7 8.6 93 NA Amy Poehler,Nick Offerman,Aubrey Plaza,Jim O'H... Comedy United States ... 22 tv series 7 1 1 1 0 1 Netflix 3
566 567 Star Trek: The Next Generation 1987 7 8.6 91 NA Patrick Stewart,Jonathan Frakes,LeVar Burton,M... Action,Adventure,Mystery,Sci-Fi United States ... 44 tv series 7 1 1 1 0 1 Netflix 3
574 575 The Good Wife 2009 7 8.3 93 NA Julianna Margulies,Matt Czuchry,Christine Bara... Crime,Drama,Mystery United States ... 43 tv series 7 1 1 1 0 1 Netflix 3
591 592 Burn Notice 2007 7 7.9 88 NA Jeffrey Donovan,Gabrielle Anwar,Bruce Campbell... Action,Crime,Drama,Mystery,Thriller United States ... 44 tv series 7 1 1 1 0 1 Netflix 3
596 597 American Horror Story 2011 18 8 NA NA Evan Peters,Sarah Paulson,Denis O'Hare,Kathy B... Drama,Horror,Thriller United States ... 60 tv series 13 1 1 1 0 1 Netflix 3
602 603 Star Trek 1966 7 8.3 80 NA Leonard Nimoy,William Shatner,DeForest Kelley,... Action,Adventure,Sci-Fi United States ... 50 tv series 3 1 1 1 0 1 Netflix 3
626 627 Mushi-Shi 2005 16 8.5 100 NA Yûto Nakano,Travis Willingham,Kôjun Itô,Jennif... Animation,Drama,Fantasy,Horror,Mystery,Thriller Japan ... 25 tv series 1 1 1 1 0 1 Netflix 3
643 644 Star Trek: Deep Space Nine 1993 7 8 91 NA Avery Brooks,Rene Auberjonois,Cirroc Lofton,Al... Action,Adventure,Drama,Sci-Fi United States ... 45 tv series 7 1 1 1 0 1 Netflix 3
654 655 Law & Order: Special Victims Unit 1999 7 8 78 NA Mariska Hargitay,Ice-T,Dann Florek,Richard Bel... Crime,Drama,Mystery,Thriller United States ... 60 tv series 24 1 1 1 0 1 Netflix 3
681 682 Star Trek: Voyager 1995 7 7.8 76 NA Kate Mulgrew,Robert Beltran,Roxann Dawson,Robe... Action,Adventure,Sci-Fi United States ... 44 tv series 7 1 1 1 0 1 Netflix 3
706 707 Merlin 2008 16 7.9 85 NA John Hurt,Colin Morgan,Bradley James,Richard W... Adventure,Drama,Fantasy United Kingdom ... 45 tv series 5 1 1 1 0 1 Netflix 3
741 742 Pokémon 1997 0 7.5 NA NA Ikue Ôtani,Rica Matsumoto,Rodger Parsons,Shin'... Animation,Action,Adventure,Comedy,Family,Fantasy Japan ... 24 tv series 23 1 1 1 0 1 Netflix 3
742 743 Cheers 1982 7 7.8 NA NA Ted Danson,Rhea Perlman,John Ratzenberger,Geor... Comedy,Drama United States ... 22 tv series 11 1 1 1 0 1 Netflix 3
744 745 Star Trek: Enterprise 2001 7 7.5 57 NA Scott Bakula,John Billingsley,Jolene Blalock,D... Action,Adventure,Drama,Sci-Fi United States ... 60 tv series 4 1 1 1 0 1 Netflix 3
782 783 Descendants of the Sun 2016 16 8.3 NA NA Song Joong-Ki,Song Hye-Kyo,Jin Goo,Kim Ji-Won,... Action,Comedy,Drama,Romance South Korea ... 60 tv series 1 1 1 1 0 1 Netflix 3
786 787 Ancient Aliens 2010 7 7.3 NA NA Robert Clotworthy,Giorgio A. Tsoukalos,David C... Documentary,Fantasy,History,Sci-Fi United States ... 42 tv series 16 1 1 1 0 1 Netflix 3
830 831 Rake 2010 16 8.5 100 NA Richard Roxburgh,Matt Day,Kate Box,Caroline Br... Comedy,Drama Australia ... 60 tv series 5 1 1 1 0 1 Netflix 3
839 840 H2O: Just Add Water 2006 7 7.2 NA NA Cariba Heine,Phoebe Tonkin,Angus McLaren,Burge... Drama,Family,Fantasy Australia ... 23 tv series 3 1 1 1 0 1 Netflix 3
945 946 Forensic Files 1996 16 8.8 NA NA Peter Thomas,Tom Bevel,Skip Palenik,Lowell Lev... Documentary,Crime United States ... 30 tv series 15 1 1 1 0 1 Netflix 3
995 996 America's Funniest Home Videos 1989 0 6.2 NA NA Jess Harnell,Tom Bergeron,Bob Saget,Ernie Ande... Comedy,Family,Reality-TV United States ... 30 tv series 31 1 1 0 1 1 Netflix 3
1043 1044 Yu-Gi-Oh! 1998 7 7.2 NA NA Dan Green,Wayne Grayson,Amy Birnbaum,Eric Stua... Animation,Action,Adventure,Family,Fantasy Japan ... 24 tv series 5 1 1 1 0 1 Netflix 3
1162 1163 Sonic x 2003 7 6.2 NA NA Gabriella Lewis,Jun'ichi Kanemaru,Sanae Kobaya... Animation,Action,Adventure,Comedy,Family,Fanta... Japan ... 30 tv series 3 1 1 1 0 1 Netflix 3
1326 1327 Hangar 1: The UFO Files 2015 7 7.3 NA NA Cornell Womack,John Ventre,Jeremy Ray,Nik Petc... Mystery,Reality-TV,Sci-Fi NA ... NA tv series 2 1 1 1 0 1 Netflix 3
1370 1371 Pocoyo 2005 0 7.4 NA NA Stephen Fry,Alex Marty,Montana Smedley,Stephen... Animation,Comedy,Family Spain,United Kingdom ... 7 tv series 4 1 1 1 0 1 Netflix 3
1438 1439 Yu-Gi-Oh! Arc-V 2014 7 6.2 NA NA Mike Liscio,Alyson Leigh Rosenfeld,Daniel J. E... Animation,Adventure,Fantasy Japan,Canada ... 20 tv series 3 1 1 1 0 1 Netflix 3
1441 1442 America's Book of Secrets 2012 16 6.8 NA NA Barry Aird,Jonathan Adams,Alex Jones,Ronald Ke... Documentary United States ... 44 tv series 3 1 1 1 0 1 Netflix 3
1676 1677 Oddbods 2015 7 6.4 NA NA Marlon Dance-Hooi,Nadia Ramlee,Jeremy Linn,Su-... Animation,Comedy,Family United Kingdom,Singapore ... NA tv series 6 1 1 1 0 1 Netflix 3
1734 1735 Yu-Gi-Oh! Zexal 2011 7 4.9 NA NA Marc Thompson,Sean Schemmel,Eileen Stevens,Mic... Animation,Action,Comedy,Fantasy,Sci-Fi Japan ... NA tv series 6 1 1 1 0 1 Netflix 3
1764 1765 LEGO Friends 2012 0 5.3 NA NA Alexa Kahn,Rachelle Heger,Erica Mendez,Mariann... Animation NA ... 4 tv series 4 1 1 1 0 1 Netflix 3
1981 1982 Pororo the Little Penguin 2003 0 5.9 NA NA So-yeong Hong,Goo Ja-Hyeong,Hwan Chin Kim,Mi J... Animation,Family South Korea ... NA tv series 6 1 1 1 0 1 Netflix 3
2028 2029 Tayo the Little Bus 2010 NR 5.6 NA NA Jul Kohler,Patricia Kalis,Aramis Merlin,Tea Wa... Animation South Korea ... NA tv series 5 1 1 1 0 1 Netflix 3

33 rows × 22 columns

In [35]:
# TV Shows Available on at least 2 Platforms
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 2].shape[0], ' Titles are available on at least 2 Platforms\n')
tvshows_on_2_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 2]
tvshows_on_2_platforms
Total  327  Titles are available on at least 2 Platforms

Out[35]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
7 8 Retribution 2015 NR 7 28 NA Joanna Vanderham,John Lynch,Joe Dempsie,Julie ... Drama,Mystery,Thriller United Kingdom ... 231 tv series 1 1 0 1 0 1 Netflix 2
15 16 Eli 2019 18 7.9 46 NA Sacha Baron Cohen,Hadar Ratzon Rotem,Yael Eita... Drama,History France ... 53 tv series 1 1 0 1 0 1 Netflix 2
16 17 The Oath 2016 NR 6.6 88 NA Ryan Kwanten,Katrina Law,Cory Hardrict,Joseph ... Crime,Drama United States ... 60 tv series 2 1 1 0 0 1 Netflix 2
17 18 Zero 2018 NR 5.5 88 Aanand L. Rai Giuseppe Dave Seke,Haroun Fall,Beatrice Grannò... Action,Comedy,Drama,Fantasy,Sci-Fi Italy ... 164 tv series 1 1 0 1 0 1 Netflix 2
18 19 The Outsider 2018 NR 7.8 36 NA Ben Mendelsohn,Bill Camp,Jeremy Bobb,Mare Winn... Crime,Drama,Fantasy,Mystery,Thriller United States ... 60 tv series 1 1 0 1 0 1 Netflix 2
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3680 3681 Rudy Maxa's Travel 2001 0 7.8 NA NA Rudy Maxa,Kanoelehua Miller Documentary United States ... 30 tv series 5 0 1 1 0 1 Prime Video 2
3697 3698 WIRED's Autocomplete Interviews 2016 NR NA NA NA NA NA NA ... NA tv series 1 0 1 1 0 1 Prime Video 2
3698 3699 Out of Office with Brent Rose 2015 NR NA NA NA Brent Rose Documentary United States ... NA tv series 1 0 1 1 0 1 Prime Video 2
3707 3708 Bogus Beauty 2017 NR NA NA NA Selorm Kploanyi,Chrissy Mahlmeister Comedy United States ... NA tv series 1 0 1 1 0 1 Prime Video 2
3714 3715 pocket.watch Challenge Squad 2018 NR 4.4 NA NA Vitaly Gk,Jetta Juriansz,Brandi Say,Dalton Alf... Family United States ... 23 tv series 1 0 1 1 0 1 Prime Video 2

327 rows × 22 columns

In [36]:
# TV Shows Available on at least 1 Platform
print('\nTotal ', df_tvshows_ott[df_tvshows_ott['OTT Count'] == 1].shape[0], ' Titles are available on at least 1 Platforms\n')
tvshows_on_1_platforms = df_tvshows_ott[df_tvshows_ott['OTT Count'] == 1]
tvshows_on_1_platforms
Total  5072  Titles are available on at least 1 Platforms

Out[36]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
0 1 Snowpiercer 2013 18 6.9 94 NA Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... Action,Drama,Sci-Fi,Thriller United States ... 60 tv series 3 1 0 0 0 1 Netflix 1
1 2 Philadelphia 1993 13 8.8 80 NA Charlie Day,Glenn Howerton,Rob McElhenney,Kait... Comedy United States ... 22 tv series 18 1 0 0 0 1 Netflix 1
2 3 Roma 2018 18 8.7 93 NA Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... Action,Drama,History,Romance,War United Kingdom,United States ... 52 tv series 2 1 0 0 0 1 Netflix 1
4 5 The Young Offenders 2016 NR 8 100 NA Alex Murphy,Chris Walley,Hilary Rose,Dominic M... Comedy United Kingdom,Ireland ... 30 tv series 3 1 0 0 0 1 Netflix 1
5 6 Suburra 2015 NR 7.9 91 NA Alessandro Borghi,Giacomo Ferrara,Filippo Nigr... Action,Crime Italy ... 50 tv series 3 1 0 0 0 1 Netflix 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
5427 5428 Awesome Animals 2013 13 NA NA NA Jake Cuddemi,Alex Wild NA NA ... NA tv series 1 0 0 0 1 1 Disney+ 1
5428 5429 Tut's Treasures: Hidden Secrets 2018 13 7.4 NA NA Aidan Dodson,Salima Ikram,Paul Mercier,Chris N... Documentary,History United Kingdom ... NA tv series 1 0 0 0 1 1 Disney+ 1
5429 5430 Wild Russia 2018 7 8.4 NA NA Christian Brückner,Jason Hildebrandt,Paterson ... Documentary Germany ... 360 tv series 2 0 0 0 1 1 Disney+ 1
5430 5431 Love & Vets 2017 13 8.6 NA NA Will Draper,Francoise Tyler,Olivia,Carrie McCo... Reality-TV United States ... 42 tv series 1 0 0 0 1 1 Disney+ 1
5431 5432 United States of Animals 2016 13 6.3 NA NA Quincy Dunn-Baker,Jo Mendenhall,Dale Anderson,... NA United States ... 22 tv series 1 0 0 0 1 1 Disney+ 1

5072 rows × 22 columns

In [37]:
df_netflix_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 1) & (df_tvshows_ott['Hulu'] == 0) & (df_tvshows_ott['Prime Video'] == 0 ) & (df_tvshows_ott['Disney+'] == 0)]
df_hulu_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 0) & (df_tvshows_ott['Hulu'] == 1) & (df_tvshows_ott['Prime Video'] == 0 ) & (df_tvshows_ott['Disney+'] == 0)]
df_prime_video_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 0) & (df_tvshows_ott['Hulu'] == 0) & (df_tvshows_ott['Prime Video'] == 1 ) & (df_tvshows_ott['Disney+'] == 0)]
df_disney_only_tvshows_ott = df_tvshows_ott[(df_tvshows_ott['Netflix'] == 0) & (df_tvshows_ott['Hulu'] == 0) & (df_tvshows_ott['Prime Video'] == 0 ) & (df_tvshows_ott['Disney+'] == 1)]
In [38]:
# TV Shows Available only on Netflix

print('\nTotal ', df_netflix_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Netflix\n')

df_netflix_only_tvshows_ott
Total  1668  Titles are available only on Netflix

Out[38]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
0 1 Snowpiercer 2013 18 6.9 94 NA Daveed Diggs,Iddo Goldberg,Mickey Sumner,Aliso... Action,Drama,Sci-Fi,Thriller United States ... 60 tv series 3 1 0 0 0 1 Netflix 1
1 2 Philadelphia 1993 13 8.8 80 NA Charlie Day,Glenn Howerton,Rob McElhenney,Kait... Comedy United States ... 22 tv series 18 1 0 0 0 1 Netflix 1
2 3 Roma 2018 18 8.7 93 NA Kevin McKidd,Ray Stevenson,Polly Walker,Kerry ... Action,Drama,History,Romance,War United Kingdom,United States ... 52 tv series 2 1 0 0 0 1 Netflix 1
4 5 The Young Offenders 2016 NR 8 100 NA Alex Murphy,Chris Walley,Hilary Rose,Dominic M... Comedy United Kingdom,Ireland ... 30 tv series 3 1 0 0 0 1 Netflix 1
5 6 Suburra 2015 NR 7.9 91 NA Alessandro Borghi,Giacomo Ferrara,Filippo Nigr... Action,Crime Italy ... 50 tv series 3 1 0 0 0 1 Netflix 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2252 2253 The Polar Sea 2014 NR 6.9 NA NA Gordon Pinsent,George Kourounis Documentary Canada ... 43 tv series 1 1 0 0 0 1 Netflix 1
2253 2254 JingleKids 2019 7 7.9 NA NA Prokhor Chekhovskoy,Sergey Druzyak,Sofya Lebed... Animation,Adventure,Comedy,Family Russia ... 11 tv series 2 1 0 0 0 1 Netflix 1
2254 2255 Sin Ellas No Hay Paraíso 2013 18 7 NA NA Carmen Villalobos,Catherine Siachoque,María Fe... Action,Crime,Drama,Romance Colombia,Mexico,United States ... 45 tv series 1 1 0 0 0 1 Netflix 1
2255 2256 Slice of Paradise 2017 NR NA NA NA Shelley Ferguson NA NA ... NA tv series 1 1 0 0 0 1 Netflix 1
2256 2257 Two Fathers 2013 NR 7.7 NA NA Lucia Hsieh,Weber Yang,Megan Lai,Marcus Chang,... Drama Taiwan ... 50 tv series 1 1 0 0 0 1 Netflix 1

1668 rows × 22 columns

In [39]:
# TV Shows Available only on Hulu

print('\nTotal ', df_hulu_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Hulu\n')

df_hulu_only_tvshows_ott
Total  1308  Titles are available only on Hulu

Out[39]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
101 102 Vice 2018 18 8.3 46 NA Julia Louis-Dreyfus,Anna Chlumsky,Tony Hale,Re... Comedy United States ... 28 tv series 7 0 1 0 0 1 Hulu 1
102 103 Get Smart 2008 13 8.2 51 Peter Segal Don Adams,Barbara Feldon,Edward Platt,Robert K... Action,Adventure,Comedy,Crime,Family,Mystery,S... United States ... 25 tv series 5 0 1 0 0 1 Hulu 1
103 104 Amazing Grace 2018 0 7.1 67 Michael Apted Kate Jenkinson,Sigrid Thornton,Alex Dimitriade... Drama Australia ... 118 tv series 1 0 1 0 0 1 Hulu 1
104 105 Whitney 2018 18 5.7 88 NA Whitney Cummings,Chris D'Elia,Rhea Seehorn,Zoe... Comedy United States ... 30 tv series 2 0 1 0 0 1 Hulu 1
105 106 Please Stand By 2018 13 8.2 56 NA Bob Johnson,Ben Wright,William Douglas,Robert ... Fantasy,Horror,Sci-Fi,Drama,Mystery,Thriller United States ... 51 tv series 2 0 1 0 0 1 Hulu 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3709 3710 pocket.watch CaptainSparklez mishmash 2018 NR NA NA NA Jordan Maron,Jetta Juriansz,Vitaly Gk Family United States ... NA tv series 1 0 1 0 0 1 Hulu 1
3710 3711 Newsy 2016 NR NA NA NA Katherine Biek,Julia Davis,Chance Seales News United States ... NA tv series 1 0 1 0 0 1 Hulu 1
3711 3712 Modd Couples 2016 18 5.3 NA NA Jim Colucci,Frank DeCaro,Pamela Hill,William J... Comedy United States ... NA tv series 1 0 1 0 0 1 Hulu 1
3712 3713 Fantasy Forecast 2016 NR NA NA NA NA NA United States ... 4 tv series 1 0 1 0 0 1 Hulu 1
3713 3714 Secret Talent Theatre 2016 NR NA NA NA NA NA NA ... NA tv series 1 0 1 0 0 1 Hulu 1

1308 rows × 22 columns

In [40]:
# TV Shows Available only on Prime Video

print('\nTotal ', df_prime_video_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Prime Video\n')

df_prime_video_only_tvshows_ott
Total  1938  Titles are available only on Prime Video

Out[40]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
125 126 Nosferatu 1922 NR 6.7 97 NA Ashleigh Cummings,Ólafur Darri Ólafsson,Jahkar... Drama,Fantasy,Horror,Mystery United States ... 60 tv series 2 0 0 1 0 1 Prime Video 1
126 127 Three Days of the Condor 1975 18 7.7 87 NA Max Irons,Kristen Hager,Bob Balaban,Sam McCart... Action,Drama,Thriller United States ... 60 tv series 2 0 0 1 0 1 Prime Video 1
127 128 Woody Allen: A Documentary 2011 NR 7.7 90 Robert B. Weide Woody Allen,Letty Aronson,Marshall Brickman,Jo... Documentary,Biography United States ... 192 tv series 1 0 0 1 0 1 Prime Video 1
128 129 City of Ghosts 2017 18 8 98 Matt Dillon Angel Chipagua,Sandra Equihua,Isa Fabro,Judy H... Animation,Adventure,Family,Fantasy United States ... 20 tv series 1 0 0 1 0 1 Prime Video 1
129 130 Proof 1991 18 7.5 65 NA Eric McCormack,Rachael Leigh Cook,Kelly Rowan,... Crime,Drama,Mystery,Thriller United States ... 42 tv series 3 0 0 1 0 1 Prime Video 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
5291 5292 Sawyer Sessions 2015 NR NA NA Stéphan Aubé Guillaume Connesson Music Denmark ... 3 tv series 1 0 0 1 0 1 Prime Video 1
5292 5293 Pinkfong! Dinosaur Songs 2014 NR NA NA NA NA NA NA ... NA tv series 2 0 0 1 0 1 Prime Video 1
5293 5294 How To Self-Publish 2017 NR NA NA NA Jean-François Gariépy News NA ... NA tv series 1 0 0 1 0 1 Prime Video 1
5294 5295 BigDo2 - Random Hair 2016 NR NA NA NA NA NA NA ... NA tv series 1 0 0 1 0 1 Prime Video 1
5295 5296 We`ll Talk When You Get Back 2015 NR NA NA NA Elena Drobysheva,Aleksandra Evchenko,Andrey Fe... Drama,Romance Russia ... NA tv series 1 0 0 1 0 1 Prime Video 1

1938 rows × 22 columns

In [41]:
# TV Shows Available only on Disney+

print('\nTotal ', df_disney_only_tvshows_ott['Title'].shape[0], ' Titles are available only on Disney+\n')

df_disney_only_tvshows_ott
Total  158  Titles are available only on Disney+

Out[41]:
ID Title Year Age IMDb Rotten Tomatoes Directors Cast Genres Country ... Runtime Kind Seasons Netflix Hulu Prime Video Disney+ Type Service Provider OTT Count
482 483 Avatar 2009 13 9.2 82 NA Dee Bradley Baker,Zach Tyler,Mae Whitman,Jack ... Animation,Action,Adventure,Family,Fantasy,Mystery United States ... 23 tv series 3 0 0 0 1 1 Disney+ 1
483 484 Invincible 2006 7 8.8 72 Angelina Jolie Steven Yeun,Sandra Oh,J.K. Simmons,Zazie Beetz... Animation,Action,Adventure,Drama,Fantasy,Horro... United States ... 137 tv series 1 0 0 0 1 1 Disney+ 1
484 485 High School Musical 2006 0 7.4 63 Kenny Ortega Joshua Bassett,Olivia Rodrigo,Matt Cornett,Jul... Comedy,Drama,Musical United States ... 31 tv series 2 0 0 0 1 1 Disney+ 1
485 486 Ruby Bridges 1998 7 7.2 83 Euzhan Palcy Penelope Ann Miller,Kevin Pollak,Michael Beach... Adventure,Comedy,Drama,Family,Fantasy United States ... 96 tv series 1 0 0 0 1 1 Disney+ 1
486 487 Stargirl 2020 7 7.3 70 NA Brec Bassinger,Yvette Monreal,Anjelika Washing... Action,Adventure,Crime,Drama,Fantasy,Sci-Fi United States ... 566 tv series 2 0 0 0 1 1 Disney+ 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
5427 5428 Awesome Animals 2013 13 NA NA NA Jake Cuddemi,Alex Wild NA NA ... NA tv series 1 0 0 0 1 1 Disney+ 1
5428 5429 Tut's Treasures: Hidden Secrets 2018 13 7.4 NA NA Aidan Dodson,Salima Ikram,Paul Mercier,Chris N... Documentary,History United Kingdom ... NA tv series 1 0 0 0 1 1 Disney+ 1
5429 5430 Wild Russia 2018 7 8.4 NA NA Christian Brückner,Jason Hildebrandt,Paterson ... Documentary Germany ... 360 tv series 2 0 0 0 1 1 Disney+ 1
5430 5431 Love & Vets 2017 13 8.6 NA NA Will Draper,Francoise Tyler,Olivia,Carrie McCo... Reality-TV United States ... 42 tv series 1 0 0 0 1 1 Disney+ 1
5431 5432 United States of Animals 2016 13 6.3 NA NA Quincy Dunn-Baker,Jo Mendenhall,Dale Anderson,... NA United States ... 22 tv series 1 0 0 0 1 1 Disney+ 1

158 rows × 22 columns

In [42]:
ott_group_count = df_tvshows_ott.groupby('OTT Count')['Title'].count()
ott_group_tvshows = df_tvshows_ott.groupby('OTT Count')[['Netflix', 'Hulu', 'Prime Video', 'Disney+']].sum()
ott_group_data_tvshows = pd.concat([ott_group_count, ott_group_tvshows], axis = 1).reset_index().rename(columns = {'Title' : 'TV Shows Count'})
ott_group_data_tvshows = ott_group_data_tvshows.sort_values(by = 'TV Shows Count', ascending = False)
In [43]:
ott_group_data_tvshows
Out[43]:
OTT Count TV Shows Count Netflix Hulu Prime Video Disney+
0 1 5072 1668 1308 1938 158
1 2 327 153 257 222 22
2 3 33 33 32 31 3
In [44]:
# Title Group with TV Shows Counts - All Platforms Combined
ott_group_data_tvshows.sort_values(by = 'TV Shows Count', ascending = False)
Out[44]:
OTT Count TV Shows Count Netflix Hulu Prime Video Disney+
0 1 5072 1668 1308 1938 158
1 2 327 153 257 222 22
2 3 33 33 32 31 3
In [45]:
ott_group_data_tvshows.sort_values(by = 'OTT Count', ascending = False)
Out[45]:
OTT Count TV Shows Count Netflix Hulu Prime Video Disney+
2 3 33 33 32 31 3
1 2 327 153 257 222 22
0 1 5072 1668 1308 1938 158
In [46]:
fig = px.bar(y = ott_group_data_tvshows['TV Shows Count'],
             x = ott_group_data_tvshows['OTT Count'], 
             color = ott_group_data_tvshows['OTT Count'],
             color_continuous_scale = 'Teal_r', 
             labels = { 'y' : 'TV Shows Count', 'x' : 'OTT Count'},
             title  = 'TV Shows with Group Title : All Platforms')
fig.update_layout(plot_bgcolor = "white")
fig.show()
In [47]:
fig = px.pie(ott_group_data_tvshows,
             names = ott_group_data_tvshows['OTT Count'],
             values = ott_group_data_tvshows['TV Shows Count'],
             color = ott_group_data_tvshows['TV Shows Count'],
             color_discrete_sequence = px.colors.sequential.Teal)

fig.update_traces(textinfo = 'percent+label',
                  title = 'TV Shows Count based on OTT Count')
fig.show()